CVE-2021-47010
net: Only allow init netns to set default tcp cong to a restricted algo
Description
In the Linux kernel, the following vulnerability has been resolved: net: Only allow init netns to set default tcp cong to a restricted algo tcp_set_default_congestion_control() is netns-safe in that it writes to &net->ipv4.tcp_congestion_control, but it also sets ca->flags |= TCP_CONG_NON_RESTRICTED which is not namespaced. This has the unintended side-effect of changing the global net.ipv4.tcp_allowed_congestion_control sysctl, despite the fact that it is read-only: 97684f0970f6 ("net: Make tcp_allowed_congestion_control readonly in non-init netns") Resolve this netns "leak" by only allowing the init netns to set the default algorithm to one that is restricted. This restriction could be removed if tcp_allowed_congestion_control were namespace-ified in the future. This bug was uncovered with https://github.com/JonathonReinhart/linux-netns-sysctl-verify
INFO
Published Date :
Feb. 28, 2024, 9:15 a.m.
Last Modified :
March 19, 2025, 3:30 p.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | HIGH | 134c704f-9b21-4f2e-91b3-4a467353bcc0 |
Solution
- Update the Linux kernel packages to resolve the vulnerability.
- Reboot the system to apply the kernel update.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2021-47010.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2021-47010 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2021-47010
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2021-47010 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2021-47010 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
Initial Analysis by [email protected]
Mar. 19, 2025
Action Type Old Value New Value Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.11 up to (excluding) 5.11.21 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.12 up to (excluding) 5.12.4 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.15 up to (excluding) 4.19.191 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.5 up to (excluding) 5.10.37 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.20 up to (excluding) 5.4.119 Added Reference Type CVE: https://git.kernel.org/stable/c/6c1ea8bee75df8fe2184a50fcd0f70bf82986f42 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/6c1ea8bee75df8fe2184a50fcd0f70bf82986f42 Types: Patch Added Reference Type CVE: https://git.kernel.org/stable/c/8d432592f30fcc34ef5a10aac4887b4897884493 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/8d432592f30fcc34ef5a10aac4887b4897884493 Types: Patch Added Reference Type CVE: https://git.kernel.org/stable/c/9884f745108f7d25b189bbcd6754e284fb29ab68 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/9884f745108f7d25b189bbcd6754e284fb29ab68 Types: Patch Added Reference Type CVE: https://git.kernel.org/stable/c/992de06308d9a9584d59b96d294ac676f924e437 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/992de06308d9a9584d59b96d294ac676f924e437 Types: Patch Added Reference Type CVE: https://git.kernel.org/stable/c/e7d7bedd507bb732e600403b7a96f9fe48d0ca31 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/e7d7bedd507bb732e600403b7a96f9fe48d0ca31 Types: Patch Added Reference Type CVE: https://git.kernel.org/stable/c/efe1532a6e1a8e3c343d04fff510f0ed80328f9c Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/efe1532a6e1a8e3c343d04fff510f0ed80328f9c Types: Patch -
CVE Modified by af854a3a-2127-422b-91ae-364da2661108
Nov. 21, 2024
Action Type Old Value New Value Added Reference https://git.kernel.org/stable/c/6c1ea8bee75df8fe2184a50fcd0f70bf82986f42 Added Reference https://git.kernel.org/stable/c/8d432592f30fcc34ef5a10aac4887b4897884493 Added Reference https://git.kernel.org/stable/c/9884f745108f7d25b189bbcd6754e284fb29ab68 Added Reference https://git.kernel.org/stable/c/992de06308d9a9584d59b96d294ac676f924e437 Added Reference https://git.kernel.org/stable/c/e7d7bedd507bb732e600403b7a96f9fe48d0ca31 Added Reference https://git.kernel.org/stable/c/efe1532a6e1a8e3c343d04fff510f0ed80328f9c -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Aug. 07, 2024
Action Type Old Value New Value Added CWE CISA-ADP CWE-400 Added CVSS V3.1 CISA-ADP AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
May. 28, 2024
Action Type Old Value New Value -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
May. 14, 2024
Action Type Old Value New Value -
CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Feb. 28, 2024
Action Type Old Value New Value Added Description In the Linux kernel, the following vulnerability has been resolved: net: Only allow init netns to set default tcp cong to a restricted algo tcp_set_default_congestion_control() is netns-safe in that it writes to &net->ipv4.tcp_congestion_control, but it also sets ca->flags |= TCP_CONG_NON_RESTRICTED which is not namespaced. This has the unintended side-effect of changing the global net.ipv4.tcp_allowed_congestion_control sysctl, despite the fact that it is read-only: 97684f0970f6 ("net: Make tcp_allowed_congestion_control readonly in non-init netns") Resolve this netns "leak" by only allowing the init netns to set the default algorithm to one that is restricted. This restriction could be removed if tcp_allowed_congestion_control were namespace-ified in the future. This bug was uncovered with https://github.com/JonathonReinhart/linux-netns-sysctl-verify Added Reference Linux https://git.kernel.org/stable/c/992de06308d9a9584d59b96d294ac676f924e437 [No types assigned] Added Reference Linux https://git.kernel.org/stable/c/9884f745108f7d25b189bbcd6754e284fb29ab68 [No types assigned] Added Reference Linux https://git.kernel.org/stable/c/6c1ea8bee75df8fe2184a50fcd0f70bf82986f42 [No types assigned] Added Reference Linux https://git.kernel.org/stable/c/efe1532a6e1a8e3c343d04fff510f0ed80328f9c [No types assigned] Added Reference Linux https://git.kernel.org/stable/c/e7d7bedd507bb732e600403b7a96f9fe48d0ca31 [No types assigned] Added Reference Linux https://git.kernel.org/stable/c/8d432592f30fcc34ef5a10aac4887b4897884493 [No types assigned]